/*================================================================
*   Copyright (C) 2022 baichao All rights reserved.
*
*   文件名称：orphan_process.cpp
*   创 建 者：baichao
*   创建日期：2022年12月12日
*   描    述：
*
================================================================*/

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>

int main(void)
{
        pid_t pid = fork();
        if (pid > 0)
        { // 父进程输出pid并睡眠2s退出
                printf("parent pid is %d\n", getpid());
                sleep(2);
        }
        else if (pid == 0)
        { // 子进程循环打印pid和ppid
                for (int i = 0; i < 10; i++)
                {
                        printf("my pid is %d, my ppid is %d\n", getpid(), getppid());
                        sleep(1);
                }
        }
        else
        {
                perror("fork");
                exit(1);
        }
        return 0;
}
